//package haiyan.spring;
//
//import javax.transaction.InvalidTransactionException;
//import javax.transaction.NotSupportedException;
//import javax.transaction.SystemException;
//import javax.transaction.Transaction;
//import javax.transaction.TransactionManager;
//
//import haiyan.orm.database.sql.TableDBContext;
//import haiyan.orm.intf.database.ITableDBManager;
//import haiyan.orm.intf.session.ITableDBContext;
//
//public class TableDBContextTemplate extends TableDBContext implements ITableDBContext, TransactionManager {
//	private ITableDBContext tableDBContextProxy;
//	public TableDBContextTemplate(ITableDBContext context) {
//		this.tableDBContextProxy = context;
////		this.tableDBContextProxy = ((ITableDBContext)Proxy.newProxyInstance(
////				TableDBContextFactory.class.getClassLoader(), 
////				new Class[] { ITableDBContext.class }, 
////				new TableDBContextInterceptor(null)));
//	}
//	public ITableDBContext getTableDBContext() {
//		return tableDBContextProxy;
//	}
//	public void setTableDBContext(ITableDBContext tableDBContext) {
//		this.tableDBContextProxy = tableDBContext;
//	}
//	@Override
//	public ITableDBManager getDBM() {
//		return tableDBContextProxy.getDBM();
//	}
//	@Override
//	public String getDSN() {
//		return tableDBContextProxy.getDSN();
//	}
//	@Override
//	public void addException(Throwable e) {
//		tableDBContextProxy.addException(e);
////		tableDBContextProxy.closeTransaction();
////		tableDBContextProxy.getAttribute(key)
////		tableDBContextProxy.setAttribute(key, val);
////		tableDBContextProxy.setUser(user);
////		tableDBContextProxy.getUser()
////		tableDBContextProxy.setExpUtil(exp);
////		tableDBContextProxy.getExpUtil()
//	}
//	@Override
//	public void commit() {
//		throw new UnsupportedOperationException("Manual commit is not allowed over a Spring managed SqlSession");
//	}
//	@Override
//	public void rollback() {
//		throw new UnsupportedOperationException("Manual rollback is not allowed over a Spring managed SqlSession");
//	}
//	@Override
//	public void close() {
//		throw new UnsupportedOperationException("Manual close is not allowed over a Spring managed SqlSession");
//	}
//	@Override
//	public void clear() {
//		tableDBContextProxy.clear();
//	}
//	@Override
//	public void begin() throws NotSupportedException, SystemException {
//		
//		System.out.println("TransactionManager");
//	}
//	@Override
//	public int getStatus() throws SystemException {
//		
//		return 0;
//	}
//	@Override
//	public Transaction getTransaction() throws SystemException {
//		
//		return null;
//	}
//	@Override
//	public void resume(Transaction arg0) throws IllegalStateException, InvalidTransactionException, SystemException {
//		
//		System.out.println("TransactionManager");
//	}
//	@Override
//	public void setRollbackOnly() throws IllegalStateException, SystemException {
//		
//		System.out.println("TransactionManager");
//	}
//	@Override
//	public void setTransactionTimeout(int arg0) throws SystemException {
//		
//		System.out.println("TransactionManager");
//	}
//	@Override
//	public Transaction suspend() throws SystemException {
//		
//		return null;
//	}
//}
